Skip to content

Add Agentic skills: draft-issue, review-blog-post, review-pull-request#9626

Merged
vitorvasc merged 46 commits into
open-telemetry:mainfrom
vitorvasc:site_agentic-skills
Apr 30, 2026
Merged

Add Agentic skills: draft-issue, review-blog-post, review-pull-request#9626
vitorvasc merged 46 commits into
open-telemetry:mainfrom
vitorvasc:site_agentic-skills

Conversation

@vitorvasc
Copy link
Copy Markdown
Member

@vitorvasc vitorvasc commented Apr 10, 2026

Summary

Contributes to #9397.

Introduces 3 agentic skills under .claude/skills/ to assist contributors working on this repo:

  • draft-issue - draft issues against the real .github/ISSUE_TEMPLATE/ templates
  • review-blog-post - review blog PRs/drafts for frontmatter, conventions, gh-url-hash, and OTel terminology
  • review-pull-request - review PRs against CI checks, CLA/approval workflow, refcache, and content conventions

All content introduced in this PR is an initial proposal. Iteration on the scope, prompts, and conventions are expected before merging. Feedback is always welcome :)

Usage

/review-pull-request

Arguments:

/review-pull-request <PR number or URL>

Examples:

/review-pull-request 9614
/review-pull-request https://github.com/open-telemetry/opentelemetry.io/pull/9614

/review-blog-post

Arguments:

/review-blog-post <blog post path or PR number>

Examples:

/review-blog-post content/en/blog/2026/my-new-post/index.md
/review-blog-post 9580

/draft-issue

Arguments:

/draft-issue <description of issue to draft>

Examples:

/draft-issue the Kubernetes getting-started page references a deprecated flag
/draft-issue feature: add a copy-to-clipboard button on code samples
/draft-issue blog: proposal for a post about exemplars in Prometheus

Signed-off-by: Vitor Vasconcellos <[email protected]>
Signed-off-by: Vitor Vasconcellos <[email protected]>
Signed-off-by: Vitor Vasconcellos <[email protected]>
Signed-off-by: Vitor Vasconcellos <[email protected]>
@otelbot-docs otelbot-docs Bot added the missing:docs-approval Co-owning SIG has provided approval, PR needs approval from docs maintainer label Apr 10, 2026
Copy link
Copy Markdown
Member

@theletterf theletterf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting! How are arguments parsed?

@vitorvasc
Copy link
Copy Markdown
Member Author

Interesting! How are arguments parsed?

@theletterf, Claude interprets them semantically, so I haven't been explicitly documenting that in the instructions. It's worked fine so far, but given our recent threads on Slack and @chalin's experience while using Copilot to interpret agent skills, I think it's worth being explicit about the expected arguments.

I'll update the skills to make it clearer. :)

@vitorvasc vitorvasc marked this pull request as ready for review April 23, 2026 12:17
@vitorvasc vitorvasc requested a review from a team as a code owner April 23, 2026 12:17
Copilot AI review requested due to automatic review settings April 23, 2026 12:17
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an initial set of contributor-focused “agentic skills” and supporting assets under .claude/ to help draft issues, review PRs/blog posts, and batch-triage GitHub issues for the OpenTelemetry website repo (and optionally other repos), including a triage sub-agent, schemas, and a frontmatter validation hook.

Changes:

  • Introduces 4 skills: otel-triage, otel-pr-review, otel-issue-draft, otel-blog-review.
  • Adds an otel-issue-triager sub-agent plus triage profile/state JSON schemas and repo-specific triage profiles.
  • Adds a .claude PreToolUse hook intended to validate blog frontmatter on Write/Edit operations.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 16 comments.

Show a summary per file
File Description
.claude/skills/otel-triage/SKILL.md Defines the batch issue triage workflow, report/state format, and profile merge behavior.
.claude/skills/otel-pr-review/SKILL.md Documents PR review workflow and CI check semantics for opentelemetry.io.
.claude/skills/otel-issue-draft/SKILL.md Guides drafting issues aligned to repo templates and label taxonomy.
.claude/skills/otel-blog-review/SKILL.md Documents blog post review rules (frontmatter, gh-url-hash, terminology, etc.).
.claude/agents/otel-issue-triager.md Sub-agent spec for per-issue deep triage analysis and dossier generation.
.claude/schemas/triage-state.schema.json JSON schema for triage run state tracking.
.claude/schemas/triage-profiles.schema.json JSON schema for triage profiles (repo config + evaluation criteria).
.claude/data/opentelemetry-website.yml Repo profile for open-telemetry/opentelemetry.io (keywords, taxonomy, templates).
.claude/data/bloomberg-mentorship.yml Evaluation profile for Bloomberg mentorship suitability.
.claude/hooks/hooks.json Registers a pre-tool hook for Write/Edit actions.
.claude/hooks/frontmatter-check.sh Hook script to validate blog post frontmatter and heading rules.

Comment thread .claude/data/opentelemetry-website.yml Outdated
Comment thread .claude/skills/review-pull-request/SKILL.md Outdated
Comment thread .claude/hooks/frontmatter-check.sh Outdated
Comment thread .claude/hooks/frontmatter-check.sh Outdated
Comment on lines +74 to +76
# Check for H1 headings in content (after frontmatter)
BODY=$(echo "$CONTENT" | awk 'BEGIN{n=0} /^---$/{n++; next} n>=2{print}')
if echo "$BODY" | grep -qE '^# [^#]'; then
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The H1 check scans the entire body with a simple grep '^# ', which will also match shell comments or other lines inside fenced code blocks (common in blog posts), causing false failures. Consider tracking fenced-code state (``` / ~~~) and only flagging # headings outside code fences, or using a markdown-aware parser.

Suggested change
# Check for H1 headings in content (after frontmatter)
BODY=$(echo "$CONTENT" | awk 'BEGIN{n=0} /^---$/{n++; next} n>=2{print}')
if echo "$BODY" | grep -qE '^# [^#]'; then
# Check for H1 headings in content (after frontmatter), ignoring fenced code blocks
BODY=$(echo "$CONTENT" | awk 'BEGIN{n=0} /^---$/{n++; next} n>=2{print}')
if echo "$BODY" | awk '
BEGIN {
in_fence = 0
fence_char = ""
}
/^[[:space:]]*```/ {
if (!in_fence) {
in_fence = 1
fence_char = "`"
next
}
if (fence_char == "`") {
in_fence = 0
fence_char = ""
next
}
}
/^[[:space:]]*~~~/ {
if (!in_fence) {
in_fence = 1
fence_char = "~"
next
}
if (fence_char == "~") {
in_fence = 0
fence_char = ""
next
}
}
!in_fence && /^# [^#]/ {
found = 1
exit
}
END {
exit found ? 0 : 1
}
'; then

Copilot uses AI. Check for mistakes.
Comment thread .claude/skills/triage-issue/SKILL.md Outdated
Comment thread .claude/skills/triage-issue/SKILL.md Outdated
Comment thread .claude/schemas/triage-state.schema.json Outdated
Comment thread .claude/schemas/triage-state.schema.json Outdated
Comment thread .claude/data/opentelemetry-website.yml Outdated
Comment thread .claude/data/opentelemetry-website.yml Outdated
@linux-foundation-easycla
Copy link
Copy Markdown

linux-foundation-easycla Bot commented Apr 23, 2026

CLA Signed

The committers listed above are authorized under a signed CLA.

@vitorvasc vitorvasc force-pushed the site_agentic-skills branch from 730820e to d8cd6a3 Compare April 23, 2026 13:04
@vitorvasc vitorvasc changed the title [WIP] Agentic skills: contributor Add Agentic skills: draft-issue, review-blog-post, review-pull-request, triage-issue Apr 23, 2026
@vitorvasc
Copy link
Copy Markdown
Member Author

/fix:format

@otelbot-docs
Copy link
Copy Markdown
Contributor

otelbot-docs Bot commented Apr 28, 2026

fix:format applied successfully in run 25069384208.

@vitorvasc vitorvasc force-pushed the site_agentic-skills branch from 6944f6d to 6b7265f Compare April 28, 2026 18:15
Removes the triage-issue skill and its supporting infrastructure (subagent,
profile/state schemas, repo and Bloomberg-mentorship profiles) so this PR
focuses on the website-specific skills: draft-issue, review-blog-post, and
review-pull-request. The triage subsystem is generic (works on any repo via
--repo) and addresses scope/DRY concerns raised in review.

The deferred work is preserved on a local site_agentic-skills_triage branch.

Signed-off-by: Vitor Vasconcellos <[email protected]>
…pstream

Replaces the inline label taxonomy with a pointer to `gh label list`,
`.github/component-label-map.yml`, and `sig-practices.md`. Replaces the five
inline issue-template body structures with a one-line directive to mirror the
real `.github/ISSUE_TEMPLATE/*.yml` section labels verbatim. Single source of
truth, fewer drift risks, ~half the lines.

Signed-off-by: Vitor Vasconcellos <[email protected]>
Drops front matter rules already enforced by the front-matter-check hook,
prettier, markdownlint (gh-url-hash), and cSpell — keeps only the judgment
layer those tools cannot check (multi-author folded form, sentence vs title
case, optional field semantics, OTel terminology, publish-timing gating,
cross-posting). Compresses the 72-line review checklist into a tight 7-item
walkthrough that complements the body. From 377 to ~180 lines.

Signed-off-by: Vitor Vasconcellos <[email protected]>
…ta pointer

Inlines the 72-line references/content-review.md into the workflow steps and
final-pass checklist (single SKILL.md, no references/ subfolder). Drops the
bullet pointing at the now-deleted .claude/data/opentelemetry-website.yml.
Consolidates the two trailing References sections into one, and the duplicate
"Bundled references"/"References" headers into a single source-of-truth list.

Signed-off-by: Vitor Vasconcellos <[email protected]>
@vitorvasc vitorvasc force-pushed the site_agentic-skills branch from 2344bf6 to 94b5733 Compare April 28, 2026 19:09
Copy link
Copy Markdown
Contributor

@chalin chalin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TY @vitorvasc! ✨
Let's give this a spin, and incrementally improve. I think you've removed the triage skill (if so update the opening comment). Looking forward to seeing that land as well in a followup PR, if that's what you choose.

@otelbot-docs otelbot-docs Bot removed the missing:docs-approval Co-owning SIG has provided approval, PR needs approval from docs maintainer label Apr 29, 2026
@vitorvasc vitorvasc changed the title Add Agentic skills: draft-issue, review-blog-post, review-pull-request, triage-issue Add Agentic skills: draft-issue, review-blog-post, review-pull-request Apr 30, 2026
@vitorvasc
Copy link
Copy Markdown
Member Author

@chalin - that's correct! Just updated the title and description, and I'll raise the follow-up PR for the triaging skill as soon as I get back to it. :)

Let me know if you run into any issues with the skills in this PR.

@vitorvasc vitorvasc added this pull request to the merge queue Apr 30, 2026
Merged via the queue into open-telemetry:main with commit 805e163 Apr 30, 2026
25 checks passed
@vitorvasc vitorvasc deleted the site_agentic-skills branch April 30, 2026 10:16
GRISONRF pushed a commit to GRISONRF/opentelemetry.io that referenced this pull request May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants